package com.wangzhenyu.common.util.permission

import android.Manifest
import android.os.Build
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.fragment.app.FragmentActivity

@Suppress("UNUSED")
object PermissionUtil {

    fun launchPermissions(register: ActivityResultLauncher<Array<String>>) {
        //Android 6.0 之前是无需申请动态权限的，在AndroidManifest.xml 里声明存储权限
        //<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        //<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

        //Android 6.0 后需要动态申请权限，除了在AndroidManifest.xml 里声明存储权限外，还需要在代码里动态申请

        //API28以及以下，需要两个权限，否则只需要READ_EXTERNAL_STORAGE
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            register.launch(
                arrayOf(
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                )
            )
        } else {
            register.launch(
                arrayOf(
                    Manifest.permission.WRITE_EXTERNAL_STORAGE,
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                )
            )
        }

    }
}